home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Utilities / Winter Shell 1.0d2 / Source / Libraries / DialogLib / DialogLib.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-30  |  3.7 KB  |  90 lines  |  [TEXT/KAHL]

  1. #pragma once
  2.  
  3. #include "ControlLib.h"
  4. #include "WindowLib.h"
  5.  
  6. #define DLG_PRELOAD_MAX (4) /* maximum number of preloaded dialogs */
  7.  
  8. /* data validation (usually used only in assertions) */
  9. Boolean DlgValid(DialogPtr dlg);
  10. Boolean DlgExtraValid(DialogPtr dlg);
  11. Boolean DlgItemValid(DialogPtr dlg, short item);
  12.  
  13. /* accessing dialog items */
  14. short DlgNItems(DialogPtr dlg);
  15. short DlgType(DialogPtr dlg, short item);
  16. void DlgTypeSet(DialogPtr dlg, short item, short type);
  17. Handle DlgHandle(DialogPtr dlg, short item);
  18. void DlgHandleSet(DialogPtr dlg, short item, Handle hndl);
  19. void DlgBox(DialogPtr dlg, short item, Rect *box);
  20. void DlgBoxSet(DialogPtr dlg, short item, Rect *box);
  21.  
  22. /* text field */
  23. void DlgText(DialogPtr dlg, short item, CStr255 str);
  24. void DlgTextLen(DialogPtr dlg, short item, char *str, short len);
  25. void DlgTextSet(DialogPtr dlg, short item, const CStr255 str);
  26. void DlgTextSelect(DialogPtr dlg, short item, short start, short end);
  27. void DlgTextSelectAll(DialogPtr dlg, short item);
  28. long DlgNum(DialogPtr dlg, short item);
  29. void DlgNumSet(DialogPtr dlg, short item, long num);
  30. float DlgFloat(DialogPtr dlg, short item);
  31. void DlgFloatSet(DialogPtr dlg, short item, float num, short precision);
  32.  
  33. /* default item */
  34. short DlgDefault(DialogPtr dlg);
  35. void DlgDefaultSet(DialogPtr dlg, short item);
  36. void DlgDefaultFrame(DialogPtr dlg, Pattern pat);
  37.  
  38. /* clicked item */
  39. void DlgClick(DialogPtr dlg, short item);
  40. short DlgClicked(DialogPtr dlg);
  41.  
  42. /* positioning dialogs */
  43. void DlgCenter(DialogPtr dlg);
  44. void DlgPosition(DialogPtr dlg);
  45. void DlgPositionPoint(short id, Point *pt);
  46.  
  47. /* creating and disposing of dialogs */
  48. DialogPtr DlgBeginAlert(short id);
  49. DialogPtr DlgBegin(short id);
  50. void DlgEnd(DialogPtr dlg);
  51.  
  52. /* preloading dialogs */
  53. DialogPtr DlgPreload(ResType type, short id);
  54. void DlgUnload(ResType type, short id);
  55.  
  56. /* event registering */
  57. void DlgETRegister(void);
  58.  
  59. /* Macros for determining the type of a dialog item. The 't' parameter should
  60.     be the type of an item (as returned by DlgType). */
  61. #define DlgTypeCtl(t)            ((((t) & 0x3F) & ctrlItem) != 0)
  62. #define DlgTypeBtnCtl(t)        (((t) & 0x3F) == ctrlItem)
  63. #define DlgTypeChkCtl(t)        (((t) & 0x3F) == ctrlItem + chkCtrl)
  64. #define DlgTypeRadCtl(t)        (((t) & 0x3F) == ctrlItem + radCtrl)
  65. #define DlgTypeResCtl(t)        (((t) & 0x3F) == ctrlItem + resCtrl)
  66. #define DlgTypeIconItem(t)        (((t) & 0x3F) == iconItem)
  67. #define DlgTypePicItem(t)        (((t) & 0x3F) == picItem)
  68. #define DlgTypeUserItem(t)        (((t) & 0x3F) == userItem)
  69. #define DlgTypeStatText(t)        (((t) & 0x3F) == statText)
  70. #define DlgTypeEditText(t)        (((t) & 0x3F) == editText)
  71. #define DlgTypeText(t)            ((((t) & 0x3F) & (statText | editText)) != 0)
  72. #define DlgTypeDisabled(t)        (((t) & itemDisable) != 0)
  73. #define DlgTypeEnabled(t)        (! DlgTypeDisabled(t))
  74.  
  75. /* macros for control items */
  76. #define DlgCtl(dlg, item)                            ((ControlHandle) DlgHandle(dlg, item))
  77. #define DlgCtlValue(dlg, item)                    CtlValue(DlgCtl(dlg, item))
  78. #define DlgCtlValueSet(dlg, item, value)        CtlValueSet(DlgCtl(dlg, item), value)
  79. #define DlgCtlMin(dlg, item)                        GetCtlMin(DlgCtl(dlg, item))
  80. #define DlgCtlMinSet(dlg, item, value)            SetCtlMin(DlgCtl(dlg, item), value)
  81. #define DlgCtlMax(dlg, item)                        GetCtlMax(DlgCtl(dlg, item))
  82. #define DlgCtlMaxSet(dlg, item, value)            SetCtlMax(DlgCtl(dlg, item), value)
  83. #define DlgCtlRefCon(dlg, item)                    GetCRefCon(DlgCtl(dlg, item))
  84. #define DlgCtlRefConSet(dlg, item, value)        SetCRefCon(DlgCtl(dlg, item), value)
  85. #define DlgCtlEnabled(dlg, item)                    CtlEnabled(DlgCtl(dlg, item))
  86. #define DlgCtlEnableSet(dlg, item, enable)    CtlEnableSet(DlgCtl(dlg, item), enable)
  87. #define DlgCtlTitle(dlg, item, title)            CtlTitle(DlgCtl(dlg, item), title)
  88. #define DlgCtlTitleSet(dlg, item, title)        CtlTitleSet(DlgCtl(dlg, item), title)
  89. #define DlgFlashButton(dlg, item)                CtlFlashButton(DlgCtl(dlg, item))
  90.